package org.scub.foundation.fournisseur.egicom.core.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

import org.scub.foundation.framework.core.model.BaseModel;

/**
 * Entité persistante modélisant les contacts du gestionnaire de contacts.
 * @author Adrien HAUTOT (adrien.hautot@scub.net)
 */
@Entity
@Table(name = "categorie")
public class Categorie extends BaseModel {

    private static final long serialVersionUID = 1648642991406224637L;

    @Column(name = "idCategorie", nullable = false)
    private int idProduit;

    @Column(name = "libeleCategorie", nullable = false)
    private String libeleProduit;
    
    @OneToMany(fetch = FetchType.EAGER)
    @JoinColumn(name = "id_categorie", referencedColumnName = "ID")
    private List<Produit> produits;

   

    public List<Produit> getProduits() {
        return produits;
    }

    public void setProduits(List<Produit> produits) {
        this.produits = produits;
    }

    @Override
    public boolean equals(Object other) {
        if (other == null || !(other instanceof Categorie)) {
            return false;
        }
        return equalsUtil(other);
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }


    public int getIdProduit() {
        return idProduit;
    }



    public void setIdProduit(int idProduit) {
        this.idProduit = idProduit;
    }



    public String getLibeleProduit() {
        return libeleProduit;
    }



    public void setLibeleProduit(String libeleProduit) {
        this.libeleProduit = libeleProduit;
    }

   
    /**
     * {@inheritDoc}
     */
   
}
